package cn.wolfcode.rbac.mapper;

import cn.wolfcode.rbac.domain.Employee;
import cn.wolfcode.rbac.domain.Role;
import cn.wolfcode.rbac.qo.EmployeeQo;
import cn.wolfcode.rbac.qo.RoleQo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RoleMapper {
    //根据主键id删除角色
    int deleteByPrimaryKey(Long id);

    //添加角色
    int insert(Role record);

    //根据主键id查询角色
    Role selectByPrimaryKey(Long id);

    //查询所有角色
    List<Role> selectAll();

    //修改角色
    int updateByPrimaryKey(Role record);

    //条件查询
    public List<Role> selectByCondition(RoleQo qo);

    //保存角色权限信息
    public void insertRolePermission(@Param("roleId") Long roleId,@Param("permissionIds")Long permissionIds);

    //删除角色保存的权限信息
    public void deleteRolePermission(@Param("roleId") Long roleId);

    //根据主键id修改角色
    Role findone(@Param("roleId") Long roleId);

    //删除角色
    void deleteRole(@Param("id") Long id);
}